🤓Как использовать концепты C++20 для создания надежного кода
Устали от непонятных ошибок шаблонов? Концепты спешат на помощь.
// ❌ Старый подход без концептов template<typename T> T max_value(const std::vector<T>& values) { // Ошибка будет обнаружена только при инстанциации шаблона return *std::max_element(values.begin(), values.end()); }
// ✅ Современный подход с концептами template<typename T> requires std::totally_ordered<T> T max_value(const std::vector<T>& values) { return *std::max_element(values.begin(), values.end()); }
// Еще короче с auto auto max_value(const std::vector<std::totally_ordered auto>& values) { return *std::max_element(values.begin(), values.end()); }
❗️Преимущества:
- Более понятные сообщения об ошибках - Документирование требований в коде - Перегрузка на основе свойств типов
Встроенные концепты: std::integral, std::floating_point, std::copyable, std::same_as и другие. Библиотека C/C++ разработчика #буст
🤓Как использовать концепты C++20 для создания надежного кода
Устали от непонятных ошибок шаблонов? Концепты спешат на помощь.
// ❌ Старый подход без концептов template<typename T> T max_value(const std::vector<T>& values) { // Ошибка будет обнаружена только при инстанциации шаблона return *std::max_element(values.begin(), values.end()); }
// ✅ Современный подход с концептами template<typename T> requires std::totally_ordered<T> T max_value(const std::vector<T>& values) { return *std::max_element(values.begin(), values.end()); }
// Еще короче с auto auto max_value(const std::vector<std::totally_ordered auto>& values) { return *std::max_element(values.begin(), values.end()); }
❗️Преимущества:
- Более понятные сообщения об ошибках - Документирование требований в коде - Перегрузка на основе свойств типов
Встроенные концепты: std::integral, std::floating_point, std::copyable, std::same_as и другие. Библиотека C/C++ разработчика #буст
BY Библиотека C/C++ разработчика | cpp, boost, qt
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
However, analysts are positive on the stock now. “We have seen a huge downside movement in the stock due to the central electricity regulatory commission’s (CERC) order that seems to be negative from 2014-15 onwards but we cannot take a linear negative view on the stock and further downside movement on the stock is unlikely. Currently stock is underpriced. Investors can bet on it for a longer horizon," said Vivek Gupta, director research at CapitalVia Global Research.
Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.
Библиотека C C разработчика | cpp boost qt from sa